56 #ifndef NV_VPI_TYPES_H
57 #define NV_VPI_TYPES_H
102 #define VPI_BACKEND_TEGRA (VPI_BACKEND_VIC | VPI_BACKEND_NVENC | VPI_BACKEND_OFA)
104 #define VPI_BACKEND_MASK ((VPI_BACKEND_INVALID << 1) - 1)
107 #define VPI_BACKEND_ALL \
108 (VPI_BACKEND_CPU | VPI_BACKEND_CUDA | VPI_BACKEND_PVA | VPI_BACKEND_VIC | VPI_BACKEND_NVENC | VPI_BACKEND_OFA)
136 #define VPI_EXCLUSIVE_STREAM_ACCESS (1ULL << 16)
146 #define VPI_RESTRICT_MEM_USAGE (1ULL << 17)
159 #define VPI_REQUIRE_BACKENDS (1ULL << 18)
363 #define VPI_BRIEF_DESCRIPTOR_ARRAY_LENGTH 32
368 #define VPI_BRIEF_DESCRIPTOR_BIT_WIDTH (VPI_BRIEF_DESCRIPTOR_ARRAY_LENGTH * 8)
553 float covariance[4][4];
566 #define VPI_MAX_MATCHES_PER_DESCRIPTOR (3)
587 typedef struct VPIRectangleIRec
590 int32_t width, height;
638 #define VPI_TERMINATION_CRITERIA_ITERATIONS (1u << 0)
639 #define VPI_TERMINATION_CRITERIA_EPSILON (1u << 1)
755 #define VPI_STAT_PIXEL_COUNT (1U << 0)
758 #define VPI_STAT_SUM (1U << 1)
761 #define VPI_STAT_MEAN ((1U << 2) | VPI_STAT_SUM | VPI_STAT_PIXEL_COUNT)
764 #define VPI_STAT_VARIANCE ((1U << 3) | VPI_STAT_MEAN)
767 #define VPI_STAT_COVARIANCE ((1U << 4) | VPI_STAT_VARIANCE)
811 float transform[3][4];
#define VPI_BRIEF_DESCRIPTOR_ARRAY_LENGTH
Brief 描述符数组的长度。
VPIGradientMethod
生成梯度的不同方法。
@ VPI_GRADIENT_SOBEL
通过 Sobel 算子生成 x 方向和 y 方向的梯度。
@ VPI_GRADIENT_BLUR_PREWITT
通过在模糊输入图像上使用 Prewitt 算子生成梯度。
#define VPI_MAX_MATCHES_PER_DESCRIPTOR
每个描述符的最大匹配数。
@ VPI_TRACKING_STATE_LOST
对象不再被跟踪。
@ VPI_TRACKING_STATE_SHADOW_TRACKED
对象正在以低置信度被跟踪。
@ VPI_TRACKING_STATE_TRACKED
对象正在以高置信度被跟踪。
@ VPI_TRACKING_STATE_NEW
要跟踪的新对象。
VPICornerScore
定义不同类型的角点得分。
@ VPI_CORNER_SCORE_FAST
使用 FAST 角点得分。
@ VPI_CORNER_SCORE_HARRIS
使用 Harris 响应角点得分。
struct VPIArrayImpl * VPIArray
数组的句柄。
int maxThreads
parallel_for 实现代码使用的最大线程数。
void * userData
传递给回调函数且未更改的用户定义不透明指针。
VPIParallelForCallback callback
指向 parallel_for 实现的指针。
void(* VPIParallelTask)(int taskId, int threadId, void *vpiData)
并行任务函数指针类型。
void * VPINativeThreadHandle
操作系统特定线程句柄的句柄。
struct VPIContextImpl * VPIContext
上下文的句柄。
void(* VPIParallelForCallback)(VPIParallelTask task, int taskCount, void *vpiData, void *userData)
并行 for 回调函数指针类型。
VPITrackingState state
此边界框的跟踪状态。
void * userData
指向某些未指定用户数据的指针。
float filterChannelWeightsLR
DCF 中不同特征通道权重的学习率。
float filterLR
指数移动平均中 DCF 滤波器的学习率。
VPIAxisAlignedBoundingBoxF32 bbox
被跟踪对象周围的边界框。
int32_t seqIndex
跟踪对象所在的输入序列的索引。
struct VPIEventImpl * VPIEvent
事件的句柄。
struct VPIImageImpl * VPIImage
图像的句柄。
int8_t templateStatus
与此边界框相关的模板的状态。
int8_t trackingStatus
此边界框的跟踪状态。
VPIBoundingBox bbox
正在跟踪的边界框。
uint8_t reserved1
保留以供将来使用。
float VPICameraExtrinsic[3][4]
相机外参矩阵。
float VPICameraIntrinsic[2][3]
相机内参矩阵。
struct VPIPayloadImpl * VPIPayload
算法有效载荷的句柄。
float VPIPerspectiveTransform[3][3]
表示 2D 透视变换。
struct VPIPyramidImpl * VPIPyramid
图像金字塔的句柄。
struct VPIStreamImpl * VPIStream
流的句柄。
@ VPI_BACKEND_CUDA
CUDA 后端。
@ VPI_BACKEND_NVENC
NVENC 后端。
@ VPI_BACKEND_INVALID
无效的后端。
float layer
关键点所在八度音阶内的金字塔层。
float octave
关键点所在的金字塔八度音阶(或金字塔级别)。
VPIHomographyTransform2D xform
定义边界框左上角及其单应性。
VPIBorderExtension
图像边界扩展指定应如何构造图像域外部的像素值。
VPIOpticalFlowQuality
定义光流算法的质量。
VPILockMode
定义内存锁定功能使用的锁定模式。
@ VPI_BORDER_INVALID
无效的边界。
@ VPI_BORDER_ZERO
图像外部的所有像素都被视为零。
@ VPI_BORDER_LIMITED
将图像视为受限,无法访问外部像素。
@ VPI_BORDER_CLAMP
边界像素无限重复。
@ VPI_BORDER_MIRROR
dedcb|abcde|dcbab
@ VPI_BORDER_REFLECT
edcba|abcde|edcba
@ VPI_EVENT_STATE_NOT_SIGNALED
事件尚未发出信号。
@ VPI_EVENT_STATE_SIGNALED
事件已发出信号。
@ VPI_OPTICAL_FLOW_QUALITY_LOW
快速但低质量的光流实现。
@ VPI_OPTICAL_FLOW_QUALITY_HIGH
慢速但高质量的光流实现。
@ VPI_OPTICAL_FLOW_QUALITY_MEDIUM
VPI_OPTICAL_FLOW_QUALITY_LOW 和 VPI_OPTICAL_FLOW_QUALITY_HIGH 之间的速度和质量。
@ VPI_LOCK_WRITE
仅锁定内存以进行写入。
@ VPI_LOCK_READ_WRITE
锁定内存以进行读取和写入。
@ VPI_LOCK_READ
仅锁定内存以进行读取。
存储 float32 关键点坐标。坐标相对于图像的左上角。
存储 U32 关键点坐标。坐标相对于图像的左上角。
从一个 3D 坐标系到另一个 3D 坐标系的变换估计,带有对象空间误差。
存储基于 float32 金字塔的关键点坐标。坐标包括 (x,...